Mobile devices with various methods of connectivity are now for many people becoming the primary gateway to the internet and also a major storage point for personal information. This is in addition to the normal range of personal computers and furthermore sensor devices plus internet based providers. Combining these devices together and lately the applications and the information stored by those applications is a major challenge of interoperability. This can be achieved through numerous, individual and personal information spaces in which persons, groups of persons, etc. can place, share, interact and manipulate (or program devices to automatically perform the planning, interaction and manipulation of) webs of information with their own locally agreed semantics without necessarily conforming to an unobtainable, global whole.
Furthermore, in addition to information, the information spaces may be combined with webs of shared and interactive computations or computation spaces so that the devices having connectivity to the computation spaces can have the information in the information space manipulated within the computation space environment and the results delivered to the device, rather than the whole process being performed locally in the device. It is noted that such computation spaces may consist of connectivity between devices, from devices to network infrastructure, to distributed information spaces so that computations can be executed where enough computational elements are available. These combined information spaces and computation spaces often referred to as computation clouds, are extensions of the ‘Giant Global Graph’ in which one can apply semantics and reasoning at a local level.
In one example, clouds are working spaces respectively embedded with distributed information and computation infrastructures spanned around computers, information appliances, processing devices and sensors that allow people to work efficiently through access to information and computations from computers or other devices. An information space or a computation space can be rendered by the computation devices physically presented as heterogeneous networks (wired and wireless). On the other hand, different levels of proactive computational elements may be available to the device in various other components of various architectural levels (e.g. device level, infrastructure level, cloud level, etc.), wherein different distributed components may have different capabilities and support different processes. In various example circumstances, to enhance the information processing power of a device and reduce the processing cost (e.g. energy cost), one might consider minimizing or at least significantly improving exchange of data, information and computations among the distributed components within a computational architecture or environment by providing multi-level distributed computations, such that the data can be migrated to the closest possible computation level with minimized or improved cost.
However, various computations may have different levels of energy consumption, security enforcement requirements, privacy policies, etc. One of the very important functionalities for optimizing computations is to determine a balance between energy consumption (and energy cost), security level (for example, enforced by signatures), privacy level, etc. for each computation. The recognition of factors such as computation capabilities, energy availability, available security, signatures, and energy cost at every computation environment, and also for each computation can provide guidelines for determining optimized and cost effective strategies for secure distribution of computations.